﻿// 汉诺塔  HANOI4B.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/HANOI4


问题：
汉诺塔是一个游戏，有三个柱子，上面插着N个不同大小的圆盘。在游戏开始时，所有圆盘都按照从小到大的顺序插在最左边的柱子上。游戏的目标是将所有圆盘移动到最右边的柱子上。

在移动圆盘时，必须遵守以下规则：

一次只能移动一个圆盘。不能将圆盘放在除柱子以外的地方，也不能在手持圆盘时移动其他圆盘。
不能将较大的圆盘放在较小的圆盘上。
当有四个柱子时，是否存在汉诺塔问题的简单解决方法尚不清楚。那么如果有四根柱子，如何计算将所有圆盘移动到右侧柱子所需的最少移动次数呢？请编写一个程序来解决这个问题。

输入：
输入的第一行是测试用例的数量C（C <= 50）。
每个测试用例的第一行是总圆盘数N（1 <= N <= 12）。
然后，从最左边的柱子开始，依次给出每个柱子中插入的圆盘信息。每行的第一个整数表示该柱子中插入的圆盘数量，然后按照从底部到顶部的顺序给出每个圆盘的编号。

在输入中，不会出现较大的圆盘放在较小的圆盘上的情况。

输出：
对于每个测试用例，输出将所有圆盘移动到最右边柱子所需的最少移动次数。

示例输入：
3
5
1 1
1 3
2 5 4
1 2
3
1 2
0
2 3 1
0
10
2 8 7
2 5 4
3 6 3 2
3 10 9 1

示例输出：
10
4
24
*/
int main()
{
    std::cout << "Hello World!\n";
}
